package eteam.aps.model.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonAlias;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import eteam.aps.common.constant.PreserveType;
import eteam.aps.common.entity.ParentEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 工单表;
 *
 * @author LiuLei
 */
@ApiModel(value = "MocoRders", description = "工单表")
@TableName("zn_moco_rders")
@JsonIgnoreProperties(ignoreUnknown = true)
public class MocoRders extends ParentEntity {

    @ApiModelProperty("序号")
    @TableField(exist = false)
    private int num;

    /**
     * 工单号;工单号
     */
    @TableField("FMoId")
    @ApiModelProperty(name = "工单号", notes = "工单号")
    @JsonAlias("moId")
    private int fMoId;

    /**
     * 工单代号;工单代号
     */
    @TableField("FMocCode")
    @ApiModelProperty(name = "工单代号", notes = "工单代号")
    @JsonAlias("mocCode")
    private String fMocCode;

    /**
     * 创建时间;创建时间
     */
    @TableField("FCreateTime")
    @ApiModelProperty(name = "创建时间", notes = "创建时间")
    @JsonAlias("createTime")
    @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss", timezone = "GMT+8")
    private Date fCreateTime;

    /**
     * 创建人;创建人
     */
    @TableField("FCreateUser")
    @ApiModelProperty(name = "创建人", notes = "创建人")
    @JsonAlias("createUser")
    private String fCreateUser;

    /**
     * 工单单身Id;工单单身Id
     */
    @TableField("FMoDId")
    @ApiModelProperty(name = "工单单身Id", notes = "工单单身Id")
    @JsonAlias("moDId")
    private int fMoDId;

    /**
     * 来源生产订单明细ID;来源生产订单单号
     */
    @TableField("FSourceMoCode")
    @ApiModelProperty(name = "来源生产订单明细ID", notes = "来源生产订单单号")
    @JsonAlias("sourceMoCode")
    private String fSourceMoCode;

    /**
     * 销售订单明细Id;销售订单明细Id
     */
    @TableField("FOrderDId")
    @ApiModelProperty(name = "销售订单明细Id", notes = "销售订单明细Id")
    @JsonAlias("orderDId")
    private int fOrderDId;

    /**
     * 销售订单明细Id;销售订单明细Id
     */
    @TableField("FSourceMoDId")
    @ApiModelProperty(name = "销售订单明细Id", notes = "销售订单明细Id")
    @JsonAlias("sourceMoDId")
    private int fSourceMoDId;

    /**
     * 原数量;原数量
     */
    @TableField("FOrgQty")
    @ApiModelProperty(name = "原数量", notes = "原数量")
    @JsonAlias("orgQty")
    private BigDecimal fOrgQty;

    /**
     * 客户代号;客户代号
     */
    @TableField("FCustCode")
    @ApiModelProperty(name = "客户代号", notes = "客户代号")
    @JsonAlias("custCode")
    private String fCustCode;

    /**
     * 订单号码;订单号码
     */
    @TableField("FOrderCode")
    @ApiModelProperty(name = "订单号码", notes = "订单号码")
    @JsonAlias("orderCode")
    private String fOrderCode;

    /**
     * 单据行条码;单据行条码
     */
    @TableField("FcbSysBarCode")
    @ApiModelProperty(name = "单据行条码", notes = "单据行条码")
    @JsonAlias("cbSysBarCode")
    private String fcbSysBarCode;

    /**
     * 订单序号;订单序号
     */
    @TableField("FSortSeq")
    @ApiModelProperty(name = "订单序号", notes = "订单序号")
    @JsonAlias("sortSeq")
    private int fSortSeq;

    /**
     * 生产订单类别;生产订单类别
     */
    @TableField("FMoTypeId")
    @ApiModelProperty(name = "生产订单类别", notes = "生产订单类别")
    @JsonAlias("moTypeId")
    private int fMoTypeId;

    /**
     * 预计产量;预计产量
     */
    @TableField("FQty")
    @ApiModelProperty(name = "预计产量", notes = "预计产量")
    @JsonAlias("qty")
    private BigDecimal fQty;

    /**
     * 生产批号;生产批号
     */
    @TableField("FMoLotCode")
    @ApiModelProperty(name = "生产批号", notes = "生产批号")
    @JsonAlias("moLotCode")
    private String fMoLotCode;

    /**
     * 生产部门;生产部门
     */
    @TableField("FDeptCode")
    @ApiModelProperty(name = "生产部门", notes = "生产部门")
    @JsonAlias("deptCode")
    private String fDeptCode;

    /**
     * 报检数量;报检数量
     */
    @TableField("FDeclaredQty")
    @ApiModelProperty(name = "报检数量", notes = "报检数量")
    @JsonAlias("declaredQty")
    private BigDecimal fDeclaredQty;

    /**
     * 验收数量;验收数量
     */
    @TableField("FQualifiedInQty")
    @ApiModelProperty(name = "验收数量", notes = "验收数量")
    @JsonAlias("qualifiedInQty")
    private BigDecimal fQualifiedInQty;

    /**
     * 状态;状态（NA-开立/FM-锁定/OP-审核/CL-关闭）
     */
    @TableField("FStatus")
    @ApiModelProperty(name = "状态", notes = "状态（NA-开立/FM-锁定/OP-审核/CL-关闭）")
    @JsonAlias("status")
    private int fStatus;

    /**
     * 工艺路线Id;工艺路线Id
     */
    @TableField("FRoutingId")
    @ApiModelProperty(name = "工艺路线Id", notes = "工艺路线Id")
    @JsonAlias("routingId")
    private int fRoutingId;

    /**
     * 物料ID;物料ID
     */
    @TableField("FPartId")
    @ApiModelProperty(name = "物料ID", notes = "物料ID")
    @JsonAlias("partId")
    private int fPartId;

    /**
     * 品号;品号
     */
    @TableField("FInvCode")
    @ApiModelProperty(name = "品号", notes = "品号")
    @JsonAlias("invCode")
    private String fInvCode;

    /**
     * 存货名称;存货名称
     */
    @TableField("FInvName")
    @ApiModelProperty(name = "存货名称", notes = "存货名称")
    @JsonAlias("invName")
    private String fInvName;

    /**
     * 规格型号;规格型号
     */
    @TableField("FInvStd")
    @ApiModelProperty(name = "规格型号", notes = "规格型号")
    @JsonAlias("invStd")
    private String fInvStd;

    /**
     * 备注;备注
     */
    @TableField("FInvRemark")
    @ApiModelProperty(name = "产品说明", notes = "产品说明")
    @JsonAlias("stdRemark")
    private String fInvRemark;

    /**
     * 仓库编号;仓库编号
     */
    @TableField("FWhCode")
    @ApiModelProperty(name = "仓库编号", notes = "仓库编号")
    @JsonAlias("whCode")
    private String fWhCode;

    /**
     * 仓库名称;仓库名称
     */
    @TableField("FWhName")
    @ApiModelProperty(name = "仓库名称", notes = "仓库名称")
    @JsonAlias("whName")
    private String fWhName;

    /**
     * 备注;备注
     */
    @TableField("FProRemark")
    @ApiModelProperty(name = "备注", notes = "备注")
    @JsonAlias("remark")
    private String fProRemark;

    /**
     * 客户物料编号;客户物料编号
     */
    @TableField("FCustInvCode")
    @ApiModelProperty(name = "客户物料编号", notes = "客户物料编号")
    @JsonAlias("custInvCode")
    private String fCustInvCode;

    /**
     * 关闭时间;关闭时间
     */
    @TableField("FCloseTime")
    @ApiModelProperty(name = "关闭时间", notes = "关闭时间")
    private Date fCloseTime;

    /**
     * 维护状态;维护状态
     */
    @TableField("FPreserveFlag")
    @ApiModelProperty(name = "维护状态", notes = "维护状态【0未维护，1 已维护】")
    private int fPreserveFlag = PreserveType.PRESERVE_NO;

    public int getNum() {
        return num;
    }

    public void setNum(int num) {
        this.num = num;
    }

    public int getfMoId() {
        return fMoId;
    }

    public void setfMoId(int fMoId) {
        this.fMoId = fMoId;
    }

    public String getfMocCode() {
        return fMocCode;
    }

    public void setfMocCode(String fMocCode) {
        this.fMocCode = fMocCode;
    }

    public Date getfCreateTime() {
        return fCreateTime;
    }

    public void setfCreateTime(Date fCreateTime) {
        this.fCreateTime = fCreateTime;
    }

    public String getfCreateUser() {
        return fCreateUser;
    }

    public void setfCreateUser(String fCreateUser) {
        this.fCreateUser = fCreateUser;
    }

    public int getfMoDId() {
        return fMoDId;
    }

    public void setfMoDId(int fMoDId) {
        this.fMoDId = fMoDId;
    }

    public String getfSourceMoCode() {
        return fSourceMoCode;
    }

    public void setfSourceMoCode(String fSourceMoCode) {
        this.fSourceMoCode = fSourceMoCode;
    }

    public int getfOrderDId() {
        return fOrderDId;
    }

    public void setfOrderDId(int fOrderDId) {
        this.fOrderDId = fOrderDId;
    }

    public int getfSourceMoDId() {
        return fSourceMoDId;
    }

    public void setfSourceMoDId(int fSourceMoDId) {
        this.fSourceMoDId = fSourceMoDId;
    }

    public BigDecimal getfOrgQty() {
        return fOrgQty;
    }

    public void setfOrgQty(BigDecimal fOrgQty) {
        this.fOrgQty = fOrgQty;
    }

    public String getfCustCode() {
        return fCustCode;
    }

    public void setfCustCode(String fCustCode) {
        this.fCustCode = fCustCode;
    }

    public String getfOrderCode() {
        return fOrderCode;
    }

    public void setfOrderCode(String fOrderCode) {
        this.fOrderCode = fOrderCode;
    }

    public String getFcbSysBarCode() {
        return fcbSysBarCode;
    }

    public void setFcbSysBarCode(String fcbSysBarCode) {
        this.fcbSysBarCode = fcbSysBarCode;
    }

    public int getfSortSeq() {
        return fSortSeq;
    }

    public void setfSortSeq(int fSortSeq) {
        this.fSortSeq = fSortSeq;
    }

    public int getfMoTypeId() {
        return fMoTypeId;
    }

    public void setfMoTypeId(int fMoTypeId) {
        this.fMoTypeId = fMoTypeId;
    }

    public BigDecimal getfQty() {
        return fQty;
    }

    public void setfQty(BigDecimal fQty) {
        this.fQty = fQty;
    }

    public String getfMoLotCode() {
        return fMoLotCode;
    }

    public void setfMoLotCode(String fMoLotCode) {
        this.fMoLotCode = fMoLotCode;
    }

    public String getfDeptCode() {
        return fDeptCode;
    }

    public void setfDeptCode(String fDeptCode) {
        this.fDeptCode = fDeptCode;
    }

    public BigDecimal getfDeclaredQty() {
        return fDeclaredQty;
    }

    public void setfDeclaredQty(BigDecimal fDeclaredQty) {
        this.fDeclaredQty = fDeclaredQty;
    }

    public BigDecimal getfQualifiedInQty() {
        return fQualifiedInQty;
    }

    public void setfQualifiedInQty(BigDecimal fQualifiedInQty) {
        this.fQualifiedInQty = fQualifiedInQty;
    }

    public int getfStatus() {
        return fStatus;
    }

    public void setfStatus(int fStatus) {
        this.fStatus = fStatus;
    }

    public int getfRoutingId() {
        return fRoutingId;
    }

    public void setfRoutingId(int fRoutingId) {
        this.fRoutingId = fRoutingId;
    }

    public int getfPartId() {
        return fPartId;
    }

    public void setfPartId(int fPartId) {
        this.fPartId = fPartId;
    }

    public String getfInvCode() {
        return fInvCode;
    }

    public void setfInvCode(String fInvCode) {
        this.fInvCode = fInvCode;
    }

    public String getfInvName() {
        return fInvName;
    }

    public void setfInvName(String fInvName) {
        this.fInvName = fInvName;
    }

    public String getfInvStd() {
        return fInvStd;
    }

    public void setfInvStd(String fInvStd) {
        this.fInvStd = fInvStd;
    }

    public String getfInvRemark() {
        return fInvRemark;
    }

    public void setfInvRemark(String fInvRemark) {
        this.fInvRemark = fInvRemark;
    }

    public String getfWhCode() {
        return fWhCode;
    }

    public void setfWhCode(String fWhCode) {
        this.fWhCode = fWhCode;
    }

    public String getfWhName() {
        return fWhName;
    }

    public void setfWhName(String fWhName) {
        this.fWhName = fWhName;
    }

    public String getfProRemark() {
        return fProRemark;
    }

    public void setfProRemark(String fProRemark) {
        this.fProRemark = fProRemark;
    }

    public String getfCustInvCode() {
        return fCustInvCode;
    }

    public void setfCustInvCode(String fCustInvCode) {
        this.fCustInvCode = fCustInvCode;
    }

    public Date getfCloseTime() {
        return fCloseTime;
    }

    public void setfCloseTime(Date fCloseTime) {
        this.fCloseTime = fCloseTime;
    }

    public int getfPreserveFlag() {
        return fPreserveFlag;
    }

    public void setfPreserveFlag(int fPreserveFlag) {
        this.fPreserveFlag = fPreserveFlag;
    }
}